Il existe également des versions en 3 dimensions de ce dispositif.
Paramètre | Unité | Valeurs valides |
---|---|---|
Largeur | pixel | de 300px à 1000px |
Longueur | pixel | de 300px à 1000px |
Nombre de vannes | - | de 1 à 20 |
Vitesse verticale | pixel par seconde | de 0px/s à 1000px/s |
open()
et close()
. Il faut préciser l'indice de la vanne que l'on souhaite commander, le temps de départ de l'action(en millisecondes) et éventuellement sa durée.
Commande | Arguments | Exemple |
---|---|---|
open(indiceVanne,t_depart,duree) |
|
open(0, 1000, 2000) : ouvre la première vanne au bout de une seconde pendant deux secondes. |
open(indiceVanne,t_depart) |
|
open(0, 200) : ouvre la première vanne au bout de 200ms et la laisse ouverte. |
close(indiceVanne,t_depart) |
|
close(1, 1000) : ferme la deuxième vanne après 1s du départ. |
t=0
démarre au moment où l'utilisateur clique sur .
t_depart
open()
(et éventuellement close()
) :
open(0,0,1000)
puis écrire l'instruction pour les 5 autres vannes. Lancer avec .
open(0,0)
, puis compter de 2 en 2...
close(0,4000)
open()
et close()
, la zone de commande est capable de reconnaître et interpréter du JavaScript. Ca va être utile pour déclarer et utiliser des variables.
ma_variable
et lui affecter une valeur val
ou le résultat d'un calcul :
var
.
h
que l'on fera varier comme on le souhaite. Commencer par déclarer les variables v=250
et h=30
.
h
et v
pour affecter à une variable dt
le temps d'ouverture nécessaire pour créer un filet d'eau de hauteur h
.
h
pour étirer ou raccourcir la figure obtenue.
dt
au début du programme. Ensuite on l'utilise dans les arguments de open()
.
open(0,...,2*dt)
h
for
nous permettra d'effectuer en quelques lignes l'ouverture de plusieurs vannes. Sur un petit mur d'eau le gain n'est pas forcément énorme, mais souvenez vous du mur présenté par la vidéo d'introduction...
i
de 0
à N-1
on peut s'y prendre de la manière suivante :
for
itérant un indice i
de 0 à 5 afin d'ouvrir toutes les vannes. i
le numéro de la vanne de 0 à 5. La fonction open()
n'apparait qu'une fois dans la boucle.
2*i
pour i valant 0, 1 et 2.
2*i+1
pour i valant 0, 1 et 2.
k
de 0 à 9. La variable doit être différente de i
(indice des vannes).
dt
est le temps d'ouverture. A chaque étape il s'est écoulé un temps 2*dt
,...
nom_fonction
prenant les arguments arg1, arg2, ...
et renvoyant une valeur (ce n'est pas obligatoire) valeur_retour
, on la déclare de la manière suivante :
return
n'est donc pas nécessaire. Une fois la fonction créée, il faut l'appeler pour qu'elle s'exécute :
openAll(t_depart, duree)
qui prend en argument t_depart
une entier représentant l'instant d'ouverture des vannes en ms, duree
la durée d'ouverture en ms. Cette fonction devra ouvrir en même temps toutes les vannes du mur pour tracer un bandeau horizontal.
openAll=function(t_depart,duree)
. Elle ne renvoie pas de valeur.
i
pour ouvrir toutes les vannes de 0 à 5.
openAll()
doit apparaître une seule fois dans une boucle. Cette fois, l'indice peut être i
car il n'apparaît plus directement.
Programmer une fonction permettant le rendu visuel de petites images représentées sous la forme de tableaux de nombres ($1$ représente la présence d'eau, et $0$ l'absence d'eau).
Appliquer la fonction de manière à afficher des lettres de l'alphabet, puis des messages textuels.
h
des rectangles de base formant l'image devra être calculée en fonction de la vitesse de chute de l'eau et de la hauteur du mur.
i
) du tableau et chaque valeur (d'indice j
) de chaque ligne devront être utilisée.
afficheTableau(T)
qui prend en argument un tableau de nombres représentant une image.
afficheLettre(char)
permettant d'afficher une lettre à l'aide des tableaux créés.
afficheTexte(txt)
permettant d'afficher un message textuel défilant verticalement une lettre après l'autre.
while
sous peine de faire crasher le navigateur...
i
comme indice des lignes, et j
comme indice des colonnes.
Commande | Commentaire |
---|---|
L[i] |
renvoie le ième élément de la liste L |
L[i][j] |
renvoie l'élément de la ième ligne et de la jème colonne |
L.length |
L'attribut length contient la longueur de la liste L |